import amisEnv from "@/base/ts/amis/AmisEnv.ts";
import {stores} from "@/base/stores";
import {getI18nPack} from "@/base/ts/service/I18nService.ts";
// @ts-ignore
let amis = amisRequire('amis/embed');

export const buildAmis = (amis_root_id: string, schema: any, props?: any, replaceText?: any) => {
  return amis.embed(
    '#'+amis_root_id,
    schema,
    {
      // location: history.location,
      data: {
        // 全局数据，是受控的数据
      },
      context: {
        // 全局上下文数据, 非受控的数据，无论哪一层都能获取到，包括弹窗自定义数据映射后都能获取到。
        // 可以用来放一下全局配置等。比如 API_HOST, 这样页面配置里面可以通过 ${API_HOST} 来获取到。
        // 环境: 'test'
      },
      locale: stores().cache.lang,
      ...props,
    },
    {
      ...amisEnv,
      theme: 'cxd',
      replaceText: {
        ...getI18nPack(),
        // 环境: 'test' 多语言替换
        ...replaceText,
      }
    }
  );
}
